
var eventsMgr = require('eventsMgr');
var Dragons = function () {
    
}
var pro = Dragons.prototype;
/**
 * 播放龙骨动画,不需要循环回调的
 * @param node 龙骨节点
 * @param name 动画名
 * @param playTime 播放次数
 * @param complete
 */
pro.playAnimation = function(node,name,playTime,complete){
    var ad = node.getComponent(dragonBones.ArmatureDisplay);
    if (!!ad){
        if (!!name && !isNaN(playTime)){
            ad.scheduleOnce(function () {
                ad.once(dragonBones.EventObject.COMPLETE,function () {
                    if (complete){
                        complete();
                    }
                },this);
                ad.playAnimation(name,playTime);
            },0.016)
        }else{
            cc.log('播放龙骨动画失败:',name);
        }
    }else{
        cc.log('节点:'+node.name+'找到龙骨动画组件');
    }
}
/**
 * 播放带循环回调的动画
 * @param node
 * @param name
 * @param playTime
 * @param loopCallback
 * @param complete
 */
pro.playAnimationLoopCallback = function(node,name,playTime,loopCallback,complete){
    var ad = node.getComponent(dragonBones.ArmatureDisplay);
    let self = this;
    if (!!ad){
        if (!!name && !isNaN(playTime)){
            ad.scheduleOnce(function () {
                if (!!loopCallback){
                    ad._loopCallback = function () {
                        loopCallback();
                    };
                    ad.addEventListener(dragonBones.EventObject.LOOP_COMPLETE,ad._loopCallback,self);
                }else{
                    ad.removeEventListener(dragonBones.EventObject.LOOP_COMPLETE,ad._loopCallback,self);
                }
                ad.once(dragonBones.EventObject.COMPLETE,function () {
                    ad.removeEventListener(dragonBones.EventObject.LOOP_COMPLETE,ad._loopCallback,self);
                    if (complete){
                        complete();
                    }
                },this);
                ad.playAnimation(name,playTime);
            },0.016)
        }else{
            cc.log('播放龙骨动画失败:',name);
        }
    }else{
        cc.log('节点:'+node.name+'找到龙骨动画组件');
    }
}
// pro.changeBones = function(node,data){
//     // var ad = node.getComponent(dragonBones.ArmatureDisplay);
//     // if (!!ad){
//     //     var slotName = data.act;
//     //     var armatureName = data.param1;
//     //     if (!!slotName && !!armatureName){
//     //         var armature = ad.armature();
//     //         var newAd = ad.buildArmature(armatureName);
//     //         var slot = armature.getSlot(slotName);//.childArmature = newAd.armature();
//     //         slot.childArmature = newAd.armature();
//     //     }else{
//     //         // cc.place()
//     //         cc.log('播放龙骨动画失败:',data);
//     //     }
//     // }else{
//     //     cc.log('节点:'+node.name+'找到龙骨动画组件');
//     // }
// }
// pro.hideSlots = function(node,data){
//     var ad = node.getComponent(dragonBones.ArmatureDisplay);
//     if (!!ad){
//         // cc.log('隐藏插槽:',data);
//         // let datas = 'XBJ_OfficialHat003;' +
//         //     'XBJ_OfficialHat02;' +
//         //     'XBJ_OfficialHat04;' +
//         //     'XBJ_OfficialHat01;' +
//         //     'XBJ_OfficialHat06;' +
//         //     'XBJ_OfficialHat05;';
//         // var slotNames = datas.split(';');
//         // for (var i=0;i<slotNames.length;i++){
//         //     let slotName = slotNames[i];
//         //     var armature = ad.armature();
//         //     var slot = armature.getSlot(slotName);//.childArmature = newAd.armature();
//         //     if (slot){
//         //         slot.visible = false;
//         //     }else{
//         //         cc.log('未找到插槽:',slotName);
//         //     }
//         // }
//             // 'XBJ_Foot_R_01;XBJ_Foot_L_01;XBJ_Arm_L_02;XBJ_Arm_R_01;XBJ_Body;XBJ_Flower;XBJ_SilkRibbon02;XBJ_SilkRibbon01\n'
//
//     }else{
//         cc.log('节点:'+node.name+'找到龙骨动画组件');
//     }
// }
// pro.showSlots = function(node,data){
//     var xiaobujun = node.getComponent('Xiaobujun');
//     cc.log('data.id='+data.id);
//     if (data.id === 'xbj_show_honghua'){
//         xiaobujun.showHonghua();
//     }else  if (data.id === 'xbj_show_yifu'){
//         xiaobujun.showYifu();
//     }else  if (data.id === 'xbj_show_hat'){
//         xiaobujun.showMaozi();
//     }else  if (data.id === 'xbj_show_foot'){
//         xiaobujun.showXiezi();
//     }
// }
//
// pro.showSlots = function(node,data){
//
// }
// monster_1_fork
module.exports = new Dragons();